Mobile communication devices are in widespread use throughout metropolitan regions of the world, and many other places in between. In developing parts of the world, where land line telephony has not yet been installed, wireless mobile telephony systems are being installed rather than land lines. In correspondence with advances in computing power made in microprocessors, mobile communication devices have developed into device that do more than simply support wireless mobile telephony. Many present-day mobile communication devices have sophisticated user interfaces including photo and video capable displays. They are capable of running a variety of applications, as well.
Many manufacturers now design mobile communication devices to support Java 2 Micro Edition, which is an execution environment for portable or bytecode in memory constrained devices. The presence of such an execution environment in mobile communication devices has led to the development of many applications by the device manufacturers, communication service operators, and third party developers. To provide access to the applications, the mobile communication device typically provides an application menu. The application menu typically a simple list of the application names through which the user can scroll to select the desired application to launch. The application names are displayed in the order in which the applications were installed in the device. For a small number of applications, a simple list is practical. However, as the amount of memory in mobile communication devices increases, users will have the ability to install more applications, and simple list will be too cumbersome to scroll through. A categorized menu may be implemented, with predefined categories, allowing the user to select the category into which the application is to be menued. However, such fixed menuing schemes prevent application developers from dictating how an application may be menued, and subsequently launched. Therefore there is a need for an enhanced menuing scheme that allows dynamic self-configuring menuing when installing applications.